﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime;
using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;

namespace ERP.Domain.Entities
{
    /// <summary>
    /// 产品表
    /// </summary>
    public class Product
    {
        [Key]
        public int ProductId { get; set; }

        /// <summary>
        /// 产品类型的 ID。
        /// </summary>
        public long CategoryId { get; set; }

        /// <summary>
        /// 产品的名称。
        /// </summary>
        public string ProductName { get; set; }

        /// <summary>
        /// 产品的制造商。
        /// </summary>
        public string Mfrs { get; set; }

        /// <summary>
        /// 产品的安全存量（单位：KG）。
        /// </summary>
        public decimal SafetyStock { get; set; }

        /// <summary>
        /// 产品的型号。
        /// </summary>
        public string ProductModel { get; set; }

        /// <summary>
        /// 产品的规格。
        /// </summary>
        public string Standard { get; set; }

        /// <summary>
        /// 产品的颜色。
        /// </summary>
        public string Color { get; set; }

        /// <summary>
        /// 产品的单个单位。
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 产品的备注信息。
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 产品的图片名称。
        /// </summary>
        public string ImgName { get; set; }

        /// <summary>
        /// 产品的计量单位 ID。
        /// </summary>
        public long UnitId { get; set; }

        /// <summary>
        /// 产品是否启用，0 表示禁用，1 表示启用。
        /// </summary>
        public bool Enabled { get; set; }

        /// <summary>
        /// 自定义字段 1。
        /// </summary>
        public string OtherField1 { get; set; }

        /// <summary>
        /// 自定义字段 2。
        /// </summary>
        public string OtherField2 { get; set; }

        /// <summary>
        /// 自定义字段 3。
        /// </summary>
        public string OtherField3 { get; set; }

        /// <summary>
        /// 是否开启序列号，0 表示否，1 表示是。
        /// </summary>
        public string EnableSerialNumber { get; set; }

        /// <summary>
        /// 租户 ID。
        /// </summary>
        public long TenantId { get; set; }

        /// <summary>
        /// 删除标记，0 表示未删除，1 表示已删除，默认 0。
        /// </summary>
        public string DeleteFlag { get; set; }
    }
}
